package com.lsm.sm.service.impl;


import javax.annotation.Resource;

import org.apache.commons.lang.xwork.StringUtils;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import com.lsm.sm.dao.BaseDao;
import com.lsm.sm.entity.CourseRecode;
import com.lsm.sm.service.StudentService;
import com.lsm.sm.util.Const;
import com.lsm.sm.util.WebUtil;
import com.opensymphony.xwork2.ActionContext;

@Scope("prototype")
@Service("studentService")
public class StudentServiceImpl implements StudentService{
	private static final long serialVersionUID = 2655942318000726120L;
	
	@Resource
	private BaseDao baseDao;
	
	/*
	 * 1. 使用 ajax 来 获取 信息。
	 * 
	 * 签到分两种，补签，和直签，直签就签今日
	 * 
	 * id type short，但在 java中使用 int.
	 * 
	 * corsename, day01, 放入 到 web 中，从其中取 再改之。
	 * 
	 * 1. 首先判断 今天  是否已经 签到，如果 签 到，则告诉 已经 签 到。 
	 * 		今天 应该是 day x，判断 是否 有签到 
	 * 		
	 */
	public Object getCourseInfo()throws Exception{
		return null;
		
		//return course+"&"+schedul;
	}
	/*
	 * (non-Javadoc)
	 * @see com.lsm.sm.service.StudentService#signIn()
	 * 
	 * 直签
	 */
	public void signIn() throws Exception {
		CourseRecode cr = new CourseRecode();
		String course = (String) ActionContext.getContext().get( Const.COURSE );
		String schedul = (String)ActionContext.getContext().get( Const.SCHEDUL );
		
		if( StringUtils.isBlank( course ) && StringUtils.isBlank( schedul )){
			//今日课程未分配!
			throw new Exception( Const.EXPT_006 );
		}
		
		cr.setCourse( course );
		cr.setSchedule( Integer.parseInt( schedul ) );
		cr.setUser( WebUtil.getUser().getId() );
		
		CourseRecode crtemp = baseDao.get( cr );
		//今日是否 签到？
		if( crtemp != null ){
			//今日你已签到
			throw new Exception( Const.EXPT_007 );
		}else {
			//若无则添加进来
			cr.setTimein( System.currentTimeMillis() );
			baseDao.save( cr );
		}
	}
	
	/*
	 * 补签，涉及 更多的细节，故稍后再做打算，慢来。
	 */
	public void signIn( Object info ) throws Exception{
		
		if( info instanceof String ){
			
		}
	}
}
